package com.zhongwang.mms.gen.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class POrderDetailExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public POrderDetailExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andOdaIdIsNull() {
            addCriterion("oda_id is null");
            return (Criteria) this;
        }

        public Criteria andOdaIdIsNotNull() {
            addCriterion("oda_id is not null");
            return (Criteria) this;
        }

        public Criteria andOdaIdEqualTo(Integer value) {
            addCriterion("oda_id =", value, "odaId");
            return (Criteria) this;
        }

        public Criteria andOdaIdNotEqualTo(Integer value) {
            addCriterion("oda_id <>", value, "odaId");
            return (Criteria) this;
        }

        public Criteria andOdaIdGreaterThan(Integer value) {
            addCriterion("oda_id >", value, "odaId");
            return (Criteria) this;
        }

        public Criteria andOdaIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("oda_id >=", value, "odaId");
            return (Criteria) this;
        }

        public Criteria andOdaIdLessThan(Integer value) {
            addCriterion("oda_id <", value, "odaId");
            return (Criteria) this;
        }

        public Criteria andOdaIdLessThanOrEqualTo(Integer value) {
            addCriterion("oda_id <=", value, "odaId");
            return (Criteria) this;
        }

        public Criteria andOdaIdIn(List<Integer> values) {
            addCriterion("oda_id in", values, "odaId");
            return (Criteria) this;
        }

        public Criteria andOdaIdNotIn(List<Integer> values) {
            addCriterion("oda_id not in", values, "odaId");
            return (Criteria) this;
        }

        public Criteria andOdaIdBetween(Integer value1, Integer value2) {
            addCriterion("oda_id between", value1, value2, "odaId");
            return (Criteria) this;
        }

        public Criteria andOdaIdNotBetween(Integer value1, Integer value2) {
            addCriterion("oda_id not between", value1, value2, "odaId");
            return (Criteria) this;
        }

        public Criteria andOdaRushIdIsNull() {
            addCriterion("oda_rush_id is null");
            return (Criteria) this;
        }

        public Criteria andOdaRushIdIsNotNull() {
            addCriterion("oda_rush_id is not null");
            return (Criteria) this;
        }

        public Criteria andOdaRushIdEqualTo(Integer value) {
            addCriterion("oda_rush_id =", value, "odaRushId");
            return (Criteria) this;
        }

        public Criteria andOdaRushIdNotEqualTo(Integer value) {
            addCriterion("oda_rush_id <>", value, "odaRushId");
            return (Criteria) this;
        }

        public Criteria andOdaRushIdGreaterThan(Integer value) {
            addCriterion("oda_rush_id >", value, "odaRushId");
            return (Criteria) this;
        }

        public Criteria andOdaRushIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("oda_rush_id >=", value, "odaRushId");
            return (Criteria) this;
        }

        public Criteria andOdaRushIdLessThan(Integer value) {
            addCriterion("oda_rush_id <", value, "odaRushId");
            return (Criteria) this;
        }

        public Criteria andOdaRushIdLessThanOrEqualTo(Integer value) {
            addCriterion("oda_rush_id <=", value, "odaRushId");
            return (Criteria) this;
        }

        public Criteria andOdaRushIdIn(List<Integer> values) {
            addCriterion("oda_rush_id in", values, "odaRushId");
            return (Criteria) this;
        }

        public Criteria andOdaRushIdNotIn(List<Integer> values) {
            addCriterion("oda_rush_id not in", values, "odaRushId");
            return (Criteria) this;
        }

        public Criteria andOdaRushIdBetween(Integer value1, Integer value2) {
            addCriterion("oda_rush_id between", value1, value2, "odaRushId");
            return (Criteria) this;
        }

        public Criteria andOdaRushIdNotBetween(Integer value1, Integer value2) {
            addCriterion("oda_rush_id not between", value1, value2, "odaRushId");
            return (Criteria) this;
        }

        public Criteria andOdaOdrIdIsNull() {
            addCriterion("oda_odr_id is null");
            return (Criteria) this;
        }

        public Criteria andOdaOdrIdIsNotNull() {
            addCriterion("oda_odr_id is not null");
            return (Criteria) this;
        }

        public Criteria andOdaOdrIdEqualTo(Integer value) {
            addCriterion("oda_odr_id =", value, "odaOdrId");
            return (Criteria) this;
        }

        public Criteria andOdaOdrIdNotEqualTo(Integer value) {
            addCriterion("oda_odr_id <>", value, "odaOdrId");
            return (Criteria) this;
        }

        public Criteria andOdaOdrIdGreaterThan(Integer value) {
            addCriterion("oda_odr_id >", value, "odaOdrId");
            return (Criteria) this;
        }

        public Criteria andOdaOdrIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("oda_odr_id >=", value, "odaOdrId");
            return (Criteria) this;
        }

        public Criteria andOdaOdrIdLessThan(Integer value) {
            addCriterion("oda_odr_id <", value, "odaOdrId");
            return (Criteria) this;
        }

        public Criteria andOdaOdrIdLessThanOrEqualTo(Integer value) {
            addCriterion("oda_odr_id <=", value, "odaOdrId");
            return (Criteria) this;
        }

        public Criteria andOdaOdrIdIn(List<Integer> values) {
            addCriterion("oda_odr_id in", values, "odaOdrId");
            return (Criteria) this;
        }

        public Criteria andOdaOdrIdNotIn(List<Integer> values) {
            addCriterion("oda_odr_id not in", values, "odaOdrId");
            return (Criteria) this;
        }

        public Criteria andOdaOdrIdBetween(Integer value1, Integer value2) {
            addCriterion("oda_odr_id between", value1, value2, "odaOdrId");
            return (Criteria) this;
        }

        public Criteria andOdaOdrIdNotBetween(Integer value1, Integer value2) {
            addCriterion("oda_odr_id not between", value1, value2, "odaOdrId");
            return (Criteria) this;
        }

        public Criteria andOdaTypeIsNull() {
            addCriterion("oda_type is null");
            return (Criteria) this;
        }

        public Criteria andOdaTypeIsNotNull() {
            addCriterion("oda_type is not null");
            return (Criteria) this;
        }

        public Criteria andOdaTypeEqualTo(Integer value) {
            addCriterion("oda_type =", value, "odaType");
            return (Criteria) this;
        }

        public Criteria andOdaTypeNotEqualTo(Integer value) {
            addCriterion("oda_type <>", value, "odaType");
            return (Criteria) this;
        }

        public Criteria andOdaTypeGreaterThan(Integer value) {
            addCriterion("oda_type >", value, "odaType");
            return (Criteria) this;
        }

        public Criteria andOdaTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("oda_type >=", value, "odaType");
            return (Criteria) this;
        }

        public Criteria andOdaTypeLessThan(Integer value) {
            addCriterion("oda_type <", value, "odaType");
            return (Criteria) this;
        }

        public Criteria andOdaTypeLessThanOrEqualTo(Integer value) {
            addCriterion("oda_type <=", value, "odaType");
            return (Criteria) this;
        }

        public Criteria andOdaTypeIn(List<Integer> values) {
            addCriterion("oda_type in", values, "odaType");
            return (Criteria) this;
        }

        public Criteria andOdaTypeNotIn(List<Integer> values) {
            addCriterion("oda_type not in", values, "odaType");
            return (Criteria) this;
        }

        public Criteria andOdaTypeBetween(Integer value1, Integer value2) {
            addCriterion("oda_type between", value1, value2, "odaType");
            return (Criteria) this;
        }

        public Criteria andOdaTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("oda_type not between", value1, value2, "odaType");
            return (Criteria) this;
        }

        public Criteria andOdaProCodeIsNull() {
            addCriterion("oda_pro_code is null");
            return (Criteria) this;
        }

        public Criteria andOdaProCodeIsNotNull() {
            addCriterion("oda_pro_code is not null");
            return (Criteria) this;
        }

        public Criteria andOdaProCodeEqualTo(String value) {
            addCriterion("oda_pro_code =", value, "odaProCode");
            return (Criteria) this;
        }

        public Criteria andOdaProCodeNotEqualTo(String value) {
            addCriterion("oda_pro_code <>", value, "odaProCode");
            return (Criteria) this;
        }

        public Criteria andOdaProCodeGreaterThan(String value) {
            addCriterion("oda_pro_code >", value, "odaProCode");
            return (Criteria) this;
        }

        public Criteria andOdaProCodeGreaterThanOrEqualTo(String value) {
            addCriterion("oda_pro_code >=", value, "odaProCode");
            return (Criteria) this;
        }

        public Criteria andOdaProCodeLessThan(String value) {
            addCriterion("oda_pro_code <", value, "odaProCode");
            return (Criteria) this;
        }

        public Criteria andOdaProCodeLessThanOrEqualTo(String value) {
            addCriterion("oda_pro_code <=", value, "odaProCode");
            return (Criteria) this;
        }

        public Criteria andOdaProCodeLike(String value) {
            addCriterion("oda_pro_code like", value, "odaProCode");
            return (Criteria) this;
        }

        public Criteria andOdaProCodeNotLike(String value) {
            addCriterion("oda_pro_code not like", value, "odaProCode");
            return (Criteria) this;
        }

        public Criteria andOdaProCodeIn(List<String> values) {
            addCriterion("oda_pro_code in", values, "odaProCode");
            return (Criteria) this;
        }

        public Criteria andOdaProCodeNotIn(List<String> values) {
            addCriterion("oda_pro_code not in", values, "odaProCode");
            return (Criteria) this;
        }

        public Criteria andOdaProCodeBetween(String value1, String value2) {
            addCriterion("oda_pro_code between", value1, value2, "odaProCode");
            return (Criteria) this;
        }

        public Criteria andOdaProCodeNotBetween(String value1, String value2) {
            addCriterion("oda_pro_code not between", value1, value2, "odaProCode");
            return (Criteria) this;
        }

        public Criteria andOdaProNameIsNull() {
            addCriterion("oda_pro_name is null");
            return (Criteria) this;
        }

        public Criteria andOdaProNameIsNotNull() {
            addCriterion("oda_pro_name is not null");
            return (Criteria) this;
        }

        public Criteria andOdaProNameEqualTo(String value) {
            addCriterion("oda_pro_name =", value, "odaProName");
            return (Criteria) this;
        }

        public Criteria andOdaProNameNotEqualTo(String value) {
            addCriterion("oda_pro_name <>", value, "odaProName");
            return (Criteria) this;
        }

        public Criteria andOdaProNameGreaterThan(String value) {
            addCriterion("oda_pro_name >", value, "odaProName");
            return (Criteria) this;
        }

        public Criteria andOdaProNameGreaterThanOrEqualTo(String value) {
            addCriterion("oda_pro_name >=", value, "odaProName");
            return (Criteria) this;
        }

        public Criteria andOdaProNameLessThan(String value) {
            addCriterion("oda_pro_name <", value, "odaProName");
            return (Criteria) this;
        }

        public Criteria andOdaProNameLessThanOrEqualTo(String value) {
            addCriterion("oda_pro_name <=", value, "odaProName");
            return (Criteria) this;
        }

        public Criteria andOdaProNameLike(String value) {
            addCriterion("oda_pro_name like", value, "odaProName");
            return (Criteria) this;
        }

        public Criteria andOdaProNameNotLike(String value) {
            addCriterion("oda_pro_name not like", value, "odaProName");
            return (Criteria) this;
        }

        public Criteria andOdaProNameIn(List<String> values) {
            addCriterion("oda_pro_name in", values, "odaProName");
            return (Criteria) this;
        }

        public Criteria andOdaProNameNotIn(List<String> values) {
            addCriterion("oda_pro_name not in", values, "odaProName");
            return (Criteria) this;
        }

        public Criteria andOdaProNameBetween(String value1, String value2) {
            addCriterion("oda_pro_name between", value1, value2, "odaProName");
            return (Criteria) this;
        }

        public Criteria andOdaProNameNotBetween(String value1, String value2) {
            addCriterion("oda_pro_name not between", value1, value2, "odaProName");
            return (Criteria) this;
        }

        public Criteria andOdaMatCodeIsNull() {
            addCriterion("oda_mat_code is null");
            return (Criteria) this;
        }

        public Criteria andOdaMatCodeIsNotNull() {
            addCriterion("oda_mat_code is not null");
            return (Criteria) this;
        }

        public Criteria andOdaMatCodeEqualTo(String value) {
            addCriterion("oda_mat_code =", value, "odaMatCode");
            return (Criteria) this;
        }

        public Criteria andOdaMatCodeNotEqualTo(String value) {
            addCriterion("oda_mat_code <>", value, "odaMatCode");
            return (Criteria) this;
        }

        public Criteria andOdaMatCodeGreaterThan(String value) {
            addCriterion("oda_mat_code >", value, "odaMatCode");
            return (Criteria) this;
        }

        public Criteria andOdaMatCodeGreaterThanOrEqualTo(String value) {
            addCriterion("oda_mat_code >=", value, "odaMatCode");
            return (Criteria) this;
        }

        public Criteria andOdaMatCodeLessThan(String value) {
            addCriterion("oda_mat_code <", value, "odaMatCode");
            return (Criteria) this;
        }

        public Criteria andOdaMatCodeLessThanOrEqualTo(String value) {
            addCriterion("oda_mat_code <=", value, "odaMatCode");
            return (Criteria) this;
        }

        public Criteria andOdaMatCodeLike(String value) {
            addCriterion("oda_mat_code like", value, "odaMatCode");
            return (Criteria) this;
        }

        public Criteria andOdaMatCodeNotLike(String value) {
            addCriterion("oda_mat_code not like", value, "odaMatCode");
            return (Criteria) this;
        }

        public Criteria andOdaMatCodeIn(List<String> values) {
            addCriterion("oda_mat_code in", values, "odaMatCode");
            return (Criteria) this;
        }

        public Criteria andOdaMatCodeNotIn(List<String> values) {
            addCriterion("oda_mat_code not in", values, "odaMatCode");
            return (Criteria) this;
        }

        public Criteria andOdaMatCodeBetween(String value1, String value2) {
            addCriterion("oda_mat_code between", value1, value2, "odaMatCode");
            return (Criteria) this;
        }

        public Criteria andOdaMatCodeNotBetween(String value1, String value2) {
            addCriterion("oda_mat_code not between", value1, value2, "odaMatCode");
            return (Criteria) this;
        }

        public Criteria andOdaMatDescIsNull() {
            addCriterion("oda_mat_desc is null");
            return (Criteria) this;
        }

        public Criteria andOdaMatDescIsNotNull() {
            addCriterion("oda_mat_desc is not null");
            return (Criteria) this;
        }

        public Criteria andOdaMatDescEqualTo(String value) {
            addCriterion("oda_mat_desc =", value, "odaMatDesc");
            return (Criteria) this;
        }

        public Criteria andOdaMatDescNotEqualTo(String value) {
            addCriterion("oda_mat_desc <>", value, "odaMatDesc");
            return (Criteria) this;
        }

        public Criteria andOdaMatDescGreaterThan(String value) {
            addCriterion("oda_mat_desc >", value, "odaMatDesc");
            return (Criteria) this;
        }

        public Criteria andOdaMatDescGreaterThanOrEqualTo(String value) {
            addCriterion("oda_mat_desc >=", value, "odaMatDesc");
            return (Criteria) this;
        }

        public Criteria andOdaMatDescLessThan(String value) {
            addCriterion("oda_mat_desc <", value, "odaMatDesc");
            return (Criteria) this;
        }

        public Criteria andOdaMatDescLessThanOrEqualTo(String value) {
            addCriterion("oda_mat_desc <=", value, "odaMatDesc");
            return (Criteria) this;
        }

        public Criteria andOdaMatDescLike(String value) {
            addCriterion("oda_mat_desc like", value, "odaMatDesc");
            return (Criteria) this;
        }

        public Criteria andOdaMatDescNotLike(String value) {
            addCriterion("oda_mat_desc not like", value, "odaMatDesc");
            return (Criteria) this;
        }

        public Criteria andOdaMatDescIn(List<String> values) {
            addCriterion("oda_mat_desc in", values, "odaMatDesc");
            return (Criteria) this;
        }

        public Criteria andOdaMatDescNotIn(List<String> values) {
            addCriterion("oda_mat_desc not in", values, "odaMatDesc");
            return (Criteria) this;
        }

        public Criteria andOdaMatDescBetween(String value1, String value2) {
            addCriterion("oda_mat_desc between", value1, value2, "odaMatDesc");
            return (Criteria) this;
        }

        public Criteria andOdaMatDescNotBetween(String value1, String value2) {
            addCriterion("oda_mat_desc not between", value1, value2, "odaMatDesc");
            return (Criteria) this;
        }

        public Criteria andOdaNumIsNull() {
            addCriterion("oda_num is null");
            return (Criteria) this;
        }

        public Criteria andOdaNumIsNotNull() {
            addCriterion("oda_num is not null");
            return (Criteria) this;
        }

        public Criteria andOdaNumEqualTo(Double value) {
            addCriterion("oda_num =", value, "odaNum");
            return (Criteria) this;
        }

        public Criteria andOdaNumNotEqualTo(Double value) {
            addCriterion("oda_num <>", value, "odaNum");
            return (Criteria) this;
        }

        public Criteria andOdaNumGreaterThan(Double value) {
            addCriterion("oda_num >", value, "odaNum");
            return (Criteria) this;
        }

        public Criteria andOdaNumGreaterThanOrEqualTo(Double value) {
            addCriterion("oda_num >=", value, "odaNum");
            return (Criteria) this;
        }

        public Criteria andOdaNumLessThan(Double value) {
            addCriterion("oda_num <", value, "odaNum");
            return (Criteria) this;
        }

        public Criteria andOdaNumLessThanOrEqualTo(Double value) {
            addCriterion("oda_num <=", value, "odaNum");
            return (Criteria) this;
        }

        public Criteria andOdaNumIn(List<Double> values) {
            addCriterion("oda_num in", values, "odaNum");
            return (Criteria) this;
        }

        public Criteria andOdaNumNotIn(List<Double> values) {
            addCriterion("oda_num not in", values, "odaNum");
            return (Criteria) this;
        }

        public Criteria andOdaNumBetween(Double value1, Double value2) {
            addCriterion("oda_num between", value1, value2, "odaNum");
            return (Criteria) this;
        }

        public Criteria andOdaNumNotBetween(Double value1, Double value2) {
            addCriterion("oda_num not between", value1, value2, "odaNum");
            return (Criteria) this;
        }

        public Criteria andOdaNumPriceIsNull() {
            addCriterion("oda_num_price is null");
            return (Criteria) this;
        }

        public Criteria andOdaNumPriceIsNotNull() {
            addCriterion("oda_num_price is not null");
            return (Criteria) this;
        }

        public Criteria andOdaNumPriceEqualTo(Double value) {
            addCriterion("oda_num_price =", value, "odaNumPrice");
            return (Criteria) this;
        }

        public Criteria andOdaNumPriceNotEqualTo(Double value) {
            addCriterion("oda_num_price <>", value, "odaNumPrice");
            return (Criteria) this;
        }

        public Criteria andOdaNumPriceGreaterThan(Double value) {
            addCriterion("oda_num_price >", value, "odaNumPrice");
            return (Criteria) this;
        }

        public Criteria andOdaNumPriceGreaterThanOrEqualTo(Double value) {
            addCriterion("oda_num_price >=", value, "odaNumPrice");
            return (Criteria) this;
        }

        public Criteria andOdaNumPriceLessThan(Double value) {
            addCriterion("oda_num_price <", value, "odaNumPrice");
            return (Criteria) this;
        }

        public Criteria andOdaNumPriceLessThanOrEqualTo(Double value) {
            addCriterion("oda_num_price <=", value, "odaNumPrice");
            return (Criteria) this;
        }

        public Criteria andOdaNumPriceIn(List<Double> values) {
            addCriterion("oda_num_price in", values, "odaNumPrice");
            return (Criteria) this;
        }

        public Criteria andOdaNumPriceNotIn(List<Double> values) {
            addCriterion("oda_num_price not in", values, "odaNumPrice");
            return (Criteria) this;
        }

        public Criteria andOdaNumPriceBetween(Double value1, Double value2) {
            addCriterion("oda_num_price between", value1, value2, "odaNumPrice");
            return (Criteria) this;
        }

        public Criteria andOdaNumPriceNotBetween(Double value1, Double value2) {
            addCriterion("oda_num_price not between", value1, value2, "odaNumPrice");
            return (Criteria) this;
        }

        public Criteria andOdaPositionIsNull() {
            addCriterion("oda_position is null");
            return (Criteria) this;
        }

        public Criteria andOdaPositionIsNotNull() {
            addCriterion("oda_position is not null");
            return (Criteria) this;
        }

        public Criteria andOdaPositionEqualTo(String value) {
            addCriterion("oda_position =", value, "odaPosition");
            return (Criteria) this;
        }

        public Criteria andOdaPositionNotEqualTo(String value) {
            addCriterion("oda_position <>", value, "odaPosition");
            return (Criteria) this;
        }

        public Criteria andOdaPositionGreaterThan(String value) {
            addCriterion("oda_position >", value, "odaPosition");
            return (Criteria) this;
        }

        public Criteria andOdaPositionGreaterThanOrEqualTo(String value) {
            addCriterion("oda_position >=", value, "odaPosition");
            return (Criteria) this;
        }

        public Criteria andOdaPositionLessThan(String value) {
            addCriterion("oda_position <", value, "odaPosition");
            return (Criteria) this;
        }

        public Criteria andOdaPositionLessThanOrEqualTo(String value) {
            addCriterion("oda_position <=", value, "odaPosition");
            return (Criteria) this;
        }

        public Criteria andOdaPositionLike(String value) {
            addCriterion("oda_position like", value, "odaPosition");
            return (Criteria) this;
        }

        public Criteria andOdaPositionNotLike(String value) {
            addCriterion("oda_position not like", value, "odaPosition");
            return (Criteria) this;
        }

        public Criteria andOdaPositionIn(List<String> values) {
            addCriterion("oda_position in", values, "odaPosition");
            return (Criteria) this;
        }

        public Criteria andOdaPositionNotIn(List<String> values) {
            addCriterion("oda_position not in", values, "odaPosition");
            return (Criteria) this;
        }

        public Criteria andOdaPositionBetween(String value1, String value2) {
            addCriterion("oda_position between", value1, value2, "odaPosition");
            return (Criteria) this;
        }

        public Criteria andOdaPositionNotBetween(String value1, String value2) {
            addCriterion("oda_position not between", value1, value2, "odaPosition");
            return (Criteria) this;
        }

        public Criteria andOdaWhiIdIsNull() {
            addCriterion("oda_whi_id is null");
            return (Criteria) this;
        }

        public Criteria andOdaWhiIdIsNotNull() {
            addCriterion("oda_whi_id is not null");
            return (Criteria) this;
        }

        public Criteria andOdaWhiIdEqualTo(Integer value) {
            addCriterion("oda_whi_id =", value, "odaWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaWhiIdNotEqualTo(Integer value) {
            addCriterion("oda_whi_id <>", value, "odaWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaWhiIdGreaterThan(Integer value) {
            addCriterion("oda_whi_id >", value, "odaWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaWhiIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("oda_whi_id >=", value, "odaWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaWhiIdLessThan(Integer value) {
            addCriterion("oda_whi_id <", value, "odaWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaWhiIdLessThanOrEqualTo(Integer value) {
            addCriterion("oda_whi_id <=", value, "odaWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaWhiIdIn(List<Integer> values) {
            addCriterion("oda_whi_id in", values, "odaWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaWhiIdNotIn(List<Integer> values) {
            addCriterion("oda_whi_id not in", values, "odaWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaWhiIdBetween(Integer value1, Integer value2) {
            addCriterion("oda_whi_id between", value1, value2, "odaWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaWhiIdNotBetween(Integer value1, Integer value2) {
            addCriterion("oda_whi_id not between", value1, value2, "odaWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaNumUnitIsNull() {
            addCriterion("oda_num_unit is null");
            return (Criteria) this;
        }

        public Criteria andOdaNumUnitIsNotNull() {
            addCriterion("oda_num_unit is not null");
            return (Criteria) this;
        }

        public Criteria andOdaNumUnitEqualTo(String value) {
            addCriterion("oda_num_unit =", value, "odaNumUnit");
            return (Criteria) this;
        }

        public Criteria andOdaNumUnitNotEqualTo(String value) {
            addCriterion("oda_num_unit <>", value, "odaNumUnit");
            return (Criteria) this;
        }

        public Criteria andOdaNumUnitGreaterThan(String value) {
            addCriterion("oda_num_unit >", value, "odaNumUnit");
            return (Criteria) this;
        }

        public Criteria andOdaNumUnitGreaterThanOrEqualTo(String value) {
            addCriterion("oda_num_unit >=", value, "odaNumUnit");
            return (Criteria) this;
        }

        public Criteria andOdaNumUnitLessThan(String value) {
            addCriterion("oda_num_unit <", value, "odaNumUnit");
            return (Criteria) this;
        }

        public Criteria andOdaNumUnitLessThanOrEqualTo(String value) {
            addCriterion("oda_num_unit <=", value, "odaNumUnit");
            return (Criteria) this;
        }

        public Criteria andOdaNumUnitLike(String value) {
            addCriterion("oda_num_unit like", value, "odaNumUnit");
            return (Criteria) this;
        }

        public Criteria andOdaNumUnitNotLike(String value) {
            addCriterion("oda_num_unit not like", value, "odaNumUnit");
            return (Criteria) this;
        }

        public Criteria andOdaNumUnitIn(List<String> values) {
            addCriterion("oda_num_unit in", values, "odaNumUnit");
            return (Criteria) this;
        }

        public Criteria andOdaNumUnitNotIn(List<String> values) {
            addCriterion("oda_num_unit not in", values, "odaNumUnit");
            return (Criteria) this;
        }

        public Criteria andOdaNumUnitBetween(String value1, String value2) {
            addCriterion("oda_num_unit between", value1, value2, "odaNumUnit");
            return (Criteria) this;
        }

        public Criteria andOdaNumUnitNotBetween(String value1, String value2) {
            addCriterion("oda_num_unit not between", value1, value2, "odaNumUnit");
            return (Criteria) this;
        }

        public Criteria andOdaTotalPriceIsNull() {
            addCriterion("oda_total_price is null");
            return (Criteria) this;
        }

        public Criteria andOdaTotalPriceIsNotNull() {
            addCriterion("oda_total_price is not null");
            return (Criteria) this;
        }

        public Criteria andOdaTotalPriceEqualTo(Double value) {
            addCriterion("oda_total_price =", value, "odaTotalPrice");
            return (Criteria) this;
        }

        public Criteria andOdaTotalPriceNotEqualTo(Double value) {
            addCriterion("oda_total_price <>", value, "odaTotalPrice");
            return (Criteria) this;
        }

        public Criteria andOdaTotalPriceGreaterThan(Double value) {
            addCriterion("oda_total_price >", value, "odaTotalPrice");
            return (Criteria) this;
        }

        public Criteria andOdaTotalPriceGreaterThanOrEqualTo(Double value) {
            addCriterion("oda_total_price >=", value, "odaTotalPrice");
            return (Criteria) this;
        }

        public Criteria andOdaTotalPriceLessThan(Double value) {
            addCriterion("oda_total_price <", value, "odaTotalPrice");
            return (Criteria) this;
        }

        public Criteria andOdaTotalPriceLessThanOrEqualTo(Double value) {
            addCriterion("oda_total_price <=", value, "odaTotalPrice");
            return (Criteria) this;
        }

        public Criteria andOdaTotalPriceIn(List<Double> values) {
            addCriterion("oda_total_price in", values, "odaTotalPrice");
            return (Criteria) this;
        }

        public Criteria andOdaTotalPriceNotIn(List<Double> values) {
            addCriterion("oda_total_price not in", values, "odaTotalPrice");
            return (Criteria) this;
        }

        public Criteria andOdaTotalPriceBetween(Double value1, Double value2) {
            addCriterion("oda_total_price between", value1, value2, "odaTotalPrice");
            return (Criteria) this;
        }

        public Criteria andOdaTotalPriceNotBetween(Double value1, Double value2) {
            addCriterion("oda_total_price not between", value1, value2, "odaTotalPrice");
            return (Criteria) this;
        }

        public Criteria andOdaBrandIsNull() {
            addCriterion("oda_brand is null");
            return (Criteria) this;
        }

        public Criteria andOdaBrandIsNotNull() {
            addCriterion("oda_brand is not null");
            return (Criteria) this;
        }

        public Criteria andOdaBrandEqualTo(String value) {
            addCriterion("oda_brand =", value, "odaBrand");
            return (Criteria) this;
        }

        public Criteria andOdaBrandNotEqualTo(String value) {
            addCriterion("oda_brand <>", value, "odaBrand");
            return (Criteria) this;
        }

        public Criteria andOdaBrandGreaterThan(String value) {
            addCriterion("oda_brand >", value, "odaBrand");
            return (Criteria) this;
        }

        public Criteria andOdaBrandGreaterThanOrEqualTo(String value) {
            addCriterion("oda_brand >=", value, "odaBrand");
            return (Criteria) this;
        }

        public Criteria andOdaBrandLessThan(String value) {
            addCriterion("oda_brand <", value, "odaBrand");
            return (Criteria) this;
        }

        public Criteria andOdaBrandLessThanOrEqualTo(String value) {
            addCriterion("oda_brand <=", value, "odaBrand");
            return (Criteria) this;
        }

        public Criteria andOdaBrandLike(String value) {
            addCriterion("oda_brand like", value, "odaBrand");
            return (Criteria) this;
        }

        public Criteria andOdaBrandNotLike(String value) {
            addCriterion("oda_brand not like", value, "odaBrand");
            return (Criteria) this;
        }

        public Criteria andOdaBrandIn(List<String> values) {
            addCriterion("oda_brand in", values, "odaBrand");
            return (Criteria) this;
        }

        public Criteria andOdaBrandNotIn(List<String> values) {
            addCriterion("oda_brand not in", values, "odaBrand");
            return (Criteria) this;
        }

        public Criteria andOdaBrandBetween(String value1, String value2) {
            addCriterion("oda_brand between", value1, value2, "odaBrand");
            return (Criteria) this;
        }

        public Criteria andOdaBrandNotBetween(String value1, String value2) {
            addCriterion("oda_brand not between", value1, value2, "odaBrand");
            return (Criteria) this;
        }

        public Criteria andOdaRemarkIsNull() {
            addCriterion("oda_remark is null");
            return (Criteria) this;
        }

        public Criteria andOdaRemarkIsNotNull() {
            addCriterion("oda_remark is not null");
            return (Criteria) this;
        }

        public Criteria andOdaRemarkEqualTo(String value) {
            addCriterion("oda_remark =", value, "odaRemark");
            return (Criteria) this;
        }

        public Criteria andOdaRemarkNotEqualTo(String value) {
            addCriterion("oda_remark <>", value, "odaRemark");
            return (Criteria) this;
        }

        public Criteria andOdaRemarkGreaterThan(String value) {
            addCriterion("oda_remark >", value, "odaRemark");
            return (Criteria) this;
        }

        public Criteria andOdaRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("oda_remark >=", value, "odaRemark");
            return (Criteria) this;
        }

        public Criteria andOdaRemarkLessThan(String value) {
            addCriterion("oda_remark <", value, "odaRemark");
            return (Criteria) this;
        }

        public Criteria andOdaRemarkLessThanOrEqualTo(String value) {
            addCriterion("oda_remark <=", value, "odaRemark");
            return (Criteria) this;
        }

        public Criteria andOdaRemarkLike(String value) {
            addCriterion("oda_remark like", value, "odaRemark");
            return (Criteria) this;
        }

        public Criteria andOdaRemarkNotLike(String value) {
            addCriterion("oda_remark not like", value, "odaRemark");
            return (Criteria) this;
        }

        public Criteria andOdaRemarkIn(List<String> values) {
            addCriterion("oda_remark in", values, "odaRemark");
            return (Criteria) this;
        }

        public Criteria andOdaRemarkNotIn(List<String> values) {
            addCriterion("oda_remark not in", values, "odaRemark");
            return (Criteria) this;
        }

        public Criteria andOdaRemarkBetween(String value1, String value2) {
            addCriterion("oda_remark between", value1, value2, "odaRemark");
            return (Criteria) this;
        }

        public Criteria andOdaRemarkNotBetween(String value1, String value2) {
            addCriterion("oda_remark not between", value1, value2, "odaRemark");
            return (Criteria) this;
        }

        public Criteria andOdaBookkeepingDateIsNull() {
            addCriterion("oda_bookkeeping_date is null");
            return (Criteria) this;
        }

        public Criteria andOdaBookkeepingDateIsNotNull() {
            addCriterion("oda_bookkeeping_date is not null");
            return (Criteria) this;
        }

        public Criteria andOdaBookkeepingDateEqualTo(Date value) {
            addCriterion("oda_bookkeeping_date =", value, "odaBookkeepingDate");
            return (Criteria) this;
        }

        public Criteria andOdaBookkeepingDateNotEqualTo(Date value) {
            addCriterion("oda_bookkeeping_date <>", value, "odaBookkeepingDate");
            return (Criteria) this;
        }

        public Criteria andOdaBookkeepingDateGreaterThan(Date value) {
            addCriterion("oda_bookkeeping_date >", value, "odaBookkeepingDate");
            return (Criteria) this;
        }

        public Criteria andOdaBookkeepingDateGreaterThanOrEqualTo(Date value) {
            addCriterion("oda_bookkeeping_date >=", value, "odaBookkeepingDate");
            return (Criteria) this;
        }

        public Criteria andOdaBookkeepingDateLessThan(Date value) {
            addCriterion("oda_bookkeeping_date <", value, "odaBookkeepingDate");
            return (Criteria) this;
        }

        public Criteria andOdaBookkeepingDateLessThanOrEqualTo(Date value) {
            addCriterion("oda_bookkeeping_date <=", value, "odaBookkeepingDate");
            return (Criteria) this;
        }

        public Criteria andOdaBookkeepingDateIn(List<Date> values) {
            addCriterion("oda_bookkeeping_date in", values, "odaBookkeepingDate");
            return (Criteria) this;
        }

        public Criteria andOdaBookkeepingDateNotIn(List<Date> values) {
            addCriterion("oda_bookkeeping_date not in", values, "odaBookkeepingDate");
            return (Criteria) this;
        }

        public Criteria andOdaBookkeepingDateBetween(Date value1, Date value2) {
            addCriterion("oda_bookkeeping_date between", value1, value2, "odaBookkeepingDate");
            return (Criteria) this;
        }

        public Criteria andOdaBookkeepingDateNotBetween(Date value1, Date value2) {
            addCriterion("oda_bookkeeping_date not between", value1, value2, "odaBookkeepingDate");
            return (Criteria) this;
        }

        public Criteria andOdaSpecIsNull() {
            addCriterion("oda_spec is null");
            return (Criteria) this;
        }

        public Criteria andOdaSpecIsNotNull() {
            addCriterion("oda_spec is not null");
            return (Criteria) this;
        }

        public Criteria andOdaSpecEqualTo(String value) {
            addCriterion("oda_spec =", value, "odaSpec");
            return (Criteria) this;
        }

        public Criteria andOdaSpecNotEqualTo(String value) {
            addCriterion("oda_spec <>", value, "odaSpec");
            return (Criteria) this;
        }

        public Criteria andOdaSpecGreaterThan(String value) {
            addCriterion("oda_spec >", value, "odaSpec");
            return (Criteria) this;
        }

        public Criteria andOdaSpecGreaterThanOrEqualTo(String value) {
            addCriterion("oda_spec >=", value, "odaSpec");
            return (Criteria) this;
        }

        public Criteria andOdaSpecLessThan(String value) {
            addCriterion("oda_spec <", value, "odaSpec");
            return (Criteria) this;
        }

        public Criteria andOdaSpecLessThanOrEqualTo(String value) {
            addCriterion("oda_spec <=", value, "odaSpec");
            return (Criteria) this;
        }

        public Criteria andOdaSpecLike(String value) {
            addCriterion("oda_spec like", value, "odaSpec");
            return (Criteria) this;
        }

        public Criteria andOdaSpecNotLike(String value) {
            addCriterion("oda_spec not like", value, "odaSpec");
            return (Criteria) this;
        }

        public Criteria andOdaSpecIn(List<String> values) {
            addCriterion("oda_spec in", values, "odaSpec");
            return (Criteria) this;
        }

        public Criteria andOdaSpecNotIn(List<String> values) {
            addCriterion("oda_spec not in", values, "odaSpec");
            return (Criteria) this;
        }

        public Criteria andOdaSpecBetween(String value1, String value2) {
            addCriterion("oda_spec between", value1, value2, "odaSpec");
            return (Criteria) this;
        }

        public Criteria andOdaSpecNotBetween(String value1, String value2) {
            addCriterion("oda_spec not between", value1, value2, "odaSpec");
            return (Criteria) this;
        }

        public Criteria andOdaSapCodeIsNull() {
            addCriterion("oda_sap_code is null");
            return (Criteria) this;
        }

        public Criteria andOdaSapCodeIsNotNull() {
            addCriterion("oda_sap_code is not null");
            return (Criteria) this;
        }

        public Criteria andOdaSapCodeEqualTo(String value) {
            addCriterion("oda_sap_code =", value, "odaSapCode");
            return (Criteria) this;
        }

        public Criteria andOdaSapCodeNotEqualTo(String value) {
            addCriterion("oda_sap_code <>", value, "odaSapCode");
            return (Criteria) this;
        }

        public Criteria andOdaSapCodeGreaterThan(String value) {
            addCriterion("oda_sap_code >", value, "odaSapCode");
            return (Criteria) this;
        }

        public Criteria andOdaSapCodeGreaterThanOrEqualTo(String value) {
            addCriterion("oda_sap_code >=", value, "odaSapCode");
            return (Criteria) this;
        }

        public Criteria andOdaSapCodeLessThan(String value) {
            addCriterion("oda_sap_code <", value, "odaSapCode");
            return (Criteria) this;
        }

        public Criteria andOdaSapCodeLessThanOrEqualTo(String value) {
            addCriterion("oda_sap_code <=", value, "odaSapCode");
            return (Criteria) this;
        }

        public Criteria andOdaSapCodeLike(String value) {
            addCriterion("oda_sap_code like", value, "odaSapCode");
            return (Criteria) this;
        }

        public Criteria andOdaSapCodeNotLike(String value) {
            addCriterion("oda_sap_code not like", value, "odaSapCode");
            return (Criteria) this;
        }

        public Criteria andOdaSapCodeIn(List<String> values) {
            addCriterion("oda_sap_code in", values, "odaSapCode");
            return (Criteria) this;
        }

        public Criteria andOdaSapCodeNotIn(List<String> values) {
            addCriterion("oda_sap_code not in", values, "odaSapCode");
            return (Criteria) this;
        }

        public Criteria andOdaSapCodeBetween(String value1, String value2) {
            addCriterion("oda_sap_code between", value1, value2, "odaSapCode");
            return (Criteria) this;
        }

        public Criteria andOdaSapCodeNotBetween(String value1, String value2) {
            addCriterion("oda_sap_code not between", value1, value2, "odaSapCode");
            return (Criteria) this;
        }

        public Criteria andOdaTrackCodeIsNull() {
            addCriterion("oda_track_code is null");
            return (Criteria) this;
        }

        public Criteria andOdaTrackCodeIsNotNull() {
            addCriterion("oda_track_code is not null");
            return (Criteria) this;
        }

        public Criteria andOdaTrackCodeEqualTo(String value) {
            addCriterion("oda_track_code =", value, "odaTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaTrackCodeNotEqualTo(String value) {
            addCriterion("oda_track_code <>", value, "odaTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaTrackCodeGreaterThan(String value) {
            addCriterion("oda_track_code >", value, "odaTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaTrackCodeGreaterThanOrEqualTo(String value) {
            addCriterion("oda_track_code >=", value, "odaTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaTrackCodeLessThan(String value) {
            addCriterion("oda_track_code <", value, "odaTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaTrackCodeLessThanOrEqualTo(String value) {
            addCriterion("oda_track_code <=", value, "odaTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaTrackCodeLike(String value) {
            addCriterion("oda_track_code like", value, "odaTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaTrackCodeNotLike(String value) {
            addCriterion("oda_track_code not like", value, "odaTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaTrackCodeIn(List<String> values) {
            addCriterion("oda_track_code in", values, "odaTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaTrackCodeNotIn(List<String> values) {
            addCriterion("oda_track_code not in", values, "odaTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaTrackCodeBetween(String value1, String value2) {
            addCriterion("oda_track_code between", value1, value2, "odaTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaTrackCodeNotBetween(String value1, String value2) {
            addCriterion("oda_track_code not between", value1, value2, "odaTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaRedFlagIsNull() {
            addCriterion("oda_red_flag is null");
            return (Criteria) this;
        }

        public Criteria andOdaRedFlagIsNotNull() {
            addCriterion("oda_red_flag is not null");
            return (Criteria) this;
        }

        public Criteria andOdaRedFlagEqualTo(Integer value) {
            addCriterion("oda_red_flag =", value, "odaRedFlag");
            return (Criteria) this;
        }

        public Criteria andOdaRedFlagNotEqualTo(Integer value) {
            addCriterion("oda_red_flag <>", value, "odaRedFlag");
            return (Criteria) this;
        }

        public Criteria andOdaRedFlagGreaterThan(Integer value) {
            addCriterion("oda_red_flag >", value, "odaRedFlag");
            return (Criteria) this;
        }

        public Criteria andOdaRedFlagGreaterThanOrEqualTo(Integer value) {
            addCriterion("oda_red_flag >=", value, "odaRedFlag");
            return (Criteria) this;
        }

        public Criteria andOdaRedFlagLessThan(Integer value) {
            addCriterion("oda_red_flag <", value, "odaRedFlag");
            return (Criteria) this;
        }

        public Criteria andOdaRedFlagLessThanOrEqualTo(Integer value) {
            addCriterion("oda_red_flag <=", value, "odaRedFlag");
            return (Criteria) this;
        }

        public Criteria andOdaRedFlagIn(List<Integer> values) {
            addCriterion("oda_red_flag in", values, "odaRedFlag");
            return (Criteria) this;
        }

        public Criteria andOdaRedFlagNotIn(List<Integer> values) {
            addCriterion("oda_red_flag not in", values, "odaRedFlag");
            return (Criteria) this;
        }

        public Criteria andOdaRedFlagBetween(Integer value1, Integer value2) {
            addCriterion("oda_red_flag between", value1, value2, "odaRedFlag");
            return (Criteria) this;
        }

        public Criteria andOdaRedFlagNotBetween(Integer value1, Integer value2) {
            addCriterion("oda_red_flag not between", value1, value2, "odaRedFlag");
            return (Criteria) this;
        }

        public Criteria andOdaRedDateIsNull() {
            addCriterion("oda_red_date is null");
            return (Criteria) this;
        }

        public Criteria andOdaRedDateIsNotNull() {
            addCriterion("oda_red_date is not null");
            return (Criteria) this;
        }

        public Criteria andOdaRedDateEqualTo(Date value) {
            addCriterion("oda_red_date =", value, "odaRedDate");
            return (Criteria) this;
        }

        public Criteria andOdaRedDateNotEqualTo(Date value) {
            addCriterion("oda_red_date <>", value, "odaRedDate");
            return (Criteria) this;
        }

        public Criteria andOdaRedDateGreaterThan(Date value) {
            addCriterion("oda_red_date >", value, "odaRedDate");
            return (Criteria) this;
        }

        public Criteria andOdaRedDateGreaterThanOrEqualTo(Date value) {
            addCriterion("oda_red_date >=", value, "odaRedDate");
            return (Criteria) this;
        }

        public Criteria andOdaRedDateLessThan(Date value) {
            addCriterion("oda_red_date <", value, "odaRedDate");
            return (Criteria) this;
        }

        public Criteria andOdaRedDateLessThanOrEqualTo(Date value) {
            addCriterion("oda_red_date <=", value, "odaRedDate");
            return (Criteria) this;
        }

        public Criteria andOdaRedDateIn(List<Date> values) {
            addCriterion("oda_red_date in", values, "odaRedDate");
            return (Criteria) this;
        }

        public Criteria andOdaRedDateNotIn(List<Date> values) {
            addCriterion("oda_red_date not in", values, "odaRedDate");
            return (Criteria) this;
        }

        public Criteria andOdaRedDateBetween(Date value1, Date value2) {
            addCriterion("oda_red_date between", value1, value2, "odaRedDate");
            return (Criteria) this;
        }

        public Criteria andOdaRedDateNotBetween(Date value1, Date value2) {
            addCriterion("oda_red_date not between", value1, value2, "odaRedDate");
            return (Criteria) this;
        }

        public Criteria andOdaRedUserIdIsNull() {
            addCriterion("oda_red_user_id is null");
            return (Criteria) this;
        }

        public Criteria andOdaRedUserIdIsNotNull() {
            addCriterion("oda_red_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andOdaRedUserIdEqualTo(Integer value) {
            addCriterion("oda_red_user_id =", value, "odaRedUserId");
            return (Criteria) this;
        }

        public Criteria andOdaRedUserIdNotEqualTo(Integer value) {
            addCriterion("oda_red_user_id <>", value, "odaRedUserId");
            return (Criteria) this;
        }

        public Criteria andOdaRedUserIdGreaterThan(Integer value) {
            addCriterion("oda_red_user_id >", value, "odaRedUserId");
            return (Criteria) this;
        }

        public Criteria andOdaRedUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("oda_red_user_id >=", value, "odaRedUserId");
            return (Criteria) this;
        }

        public Criteria andOdaRedUserIdLessThan(Integer value) {
            addCriterion("oda_red_user_id <", value, "odaRedUserId");
            return (Criteria) this;
        }

        public Criteria andOdaRedUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("oda_red_user_id <=", value, "odaRedUserId");
            return (Criteria) this;
        }

        public Criteria andOdaRedUserIdIn(List<Integer> values) {
            addCriterion("oda_red_user_id in", values, "odaRedUserId");
            return (Criteria) this;
        }

        public Criteria andOdaRedUserIdNotIn(List<Integer> values) {
            addCriterion("oda_red_user_id not in", values, "odaRedUserId");
            return (Criteria) this;
        }

        public Criteria andOdaRedUserIdBetween(Integer value1, Integer value2) {
            addCriterion("oda_red_user_id between", value1, value2, "odaRedUserId");
            return (Criteria) this;
        }

        public Criteria andOdaRedUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("oda_red_user_id not between", value1, value2, "odaRedUserId");
            return (Criteria) this;
        }

        public Criteria andOdaWeightPriceIsNull() {
            addCriterion("oda_weight_price is null");
            return (Criteria) this;
        }

        public Criteria andOdaWeightPriceIsNotNull() {
            addCriterion("oda_weight_price is not null");
            return (Criteria) this;
        }

        public Criteria andOdaWeightPriceEqualTo(Double value) {
            addCriterion("oda_weight_price =", value, "odaWeightPrice");
            return (Criteria) this;
        }

        public Criteria andOdaWeightPriceNotEqualTo(Double value) {
            addCriterion("oda_weight_price <>", value, "odaWeightPrice");
            return (Criteria) this;
        }

        public Criteria andOdaWeightPriceGreaterThan(Double value) {
            addCriterion("oda_weight_price >", value, "odaWeightPrice");
            return (Criteria) this;
        }

        public Criteria andOdaWeightPriceGreaterThanOrEqualTo(Double value) {
            addCriterion("oda_weight_price >=", value, "odaWeightPrice");
            return (Criteria) this;
        }

        public Criteria andOdaWeightPriceLessThan(Double value) {
            addCriterion("oda_weight_price <", value, "odaWeightPrice");
            return (Criteria) this;
        }

        public Criteria andOdaWeightPriceLessThanOrEqualTo(Double value) {
            addCriterion("oda_weight_price <=", value, "odaWeightPrice");
            return (Criteria) this;
        }

        public Criteria andOdaWeightPriceIn(List<Double> values) {
            addCriterion("oda_weight_price in", values, "odaWeightPrice");
            return (Criteria) this;
        }

        public Criteria andOdaWeightPriceNotIn(List<Double> values) {
            addCriterion("oda_weight_price not in", values, "odaWeightPrice");
            return (Criteria) this;
        }

        public Criteria andOdaWeightPriceBetween(Double value1, Double value2) {
            addCriterion("oda_weight_price between", value1, value2, "odaWeightPrice");
            return (Criteria) this;
        }

        public Criteria andOdaWeightPriceNotBetween(Double value1, Double value2) {
            addCriterion("oda_weight_price not between", value1, value2, "odaWeightPrice");
            return (Criteria) this;
        }

        public Criteria andOdaTakeTypeIsNull() {
            addCriterion("oda_take_type is null");
            return (Criteria) this;
        }

        public Criteria andOdaTakeTypeIsNotNull() {
            addCriterion("oda_take_type is not null");
            return (Criteria) this;
        }

        public Criteria andOdaTakeTypeEqualTo(String value) {
            addCriterion("oda_take_type =", value, "odaTakeType");
            return (Criteria) this;
        }

        public Criteria andOdaTakeTypeNotEqualTo(String value) {
            addCriterion("oda_take_type <>", value, "odaTakeType");
            return (Criteria) this;
        }

        public Criteria andOdaTakeTypeGreaterThan(String value) {
            addCriterion("oda_take_type >", value, "odaTakeType");
            return (Criteria) this;
        }

        public Criteria andOdaTakeTypeGreaterThanOrEqualTo(String value) {
            addCriterion("oda_take_type >=", value, "odaTakeType");
            return (Criteria) this;
        }

        public Criteria andOdaTakeTypeLessThan(String value) {
            addCriterion("oda_take_type <", value, "odaTakeType");
            return (Criteria) this;
        }

        public Criteria andOdaTakeTypeLessThanOrEqualTo(String value) {
            addCriterion("oda_take_type <=", value, "odaTakeType");
            return (Criteria) this;
        }

        public Criteria andOdaTakeTypeLike(String value) {
            addCriterion("oda_take_type like", value, "odaTakeType");
            return (Criteria) this;
        }

        public Criteria andOdaTakeTypeNotLike(String value) {
            addCriterion("oda_take_type not like", value, "odaTakeType");
            return (Criteria) this;
        }

        public Criteria andOdaTakeTypeIn(List<String> values) {
            addCriterion("oda_take_type in", values, "odaTakeType");
            return (Criteria) this;
        }

        public Criteria andOdaTakeTypeNotIn(List<String> values) {
            addCriterion("oda_take_type not in", values, "odaTakeType");
            return (Criteria) this;
        }

        public Criteria andOdaTakeTypeBetween(String value1, String value2) {
            addCriterion("oda_take_type between", value1, value2, "odaTakeType");
            return (Criteria) this;
        }

        public Criteria andOdaTakeTypeNotBetween(String value1, String value2) {
            addCriterion("oda_take_type not between", value1, value2, "odaTakeType");
            return (Criteria) this;
        }

        public Criteria andOdaOutWhiIdIsNull() {
            addCriterion("oda_out_whi_id is null");
            return (Criteria) this;
        }

        public Criteria andOdaOutWhiIdIsNotNull() {
            addCriterion("oda_out_whi_id is not null");
            return (Criteria) this;
        }

        public Criteria andOdaOutWhiIdEqualTo(Integer value) {
            addCriterion("oda_out_whi_id =", value, "odaOutWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaOutWhiIdNotEqualTo(Integer value) {
            addCriterion("oda_out_whi_id <>", value, "odaOutWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaOutWhiIdGreaterThan(Integer value) {
            addCriterion("oda_out_whi_id >", value, "odaOutWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaOutWhiIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("oda_out_whi_id >=", value, "odaOutWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaOutWhiIdLessThan(Integer value) {
            addCriterion("oda_out_whi_id <", value, "odaOutWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaOutWhiIdLessThanOrEqualTo(Integer value) {
            addCriterion("oda_out_whi_id <=", value, "odaOutWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaOutWhiIdIn(List<Integer> values) {
            addCriterion("oda_out_whi_id in", values, "odaOutWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaOutWhiIdNotIn(List<Integer> values) {
            addCriterion("oda_out_whi_id not in", values, "odaOutWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaOutWhiIdBetween(Integer value1, Integer value2) {
            addCriterion("oda_out_whi_id between", value1, value2, "odaOutWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaOutWhiIdNotBetween(Integer value1, Integer value2) {
            addCriterion("oda_out_whi_id not between", value1, value2, "odaOutWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaInWhiIdIsNull() {
            addCriterion("oda_in_whi_id is null");
            return (Criteria) this;
        }

        public Criteria andOdaInWhiIdIsNotNull() {
            addCriterion("oda_in_whi_id is not null");
            return (Criteria) this;
        }

        public Criteria andOdaInWhiIdEqualTo(Integer value) {
            addCriterion("oda_in_whi_id =", value, "odaInWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaInWhiIdNotEqualTo(Integer value) {
            addCriterion("oda_in_whi_id <>", value, "odaInWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaInWhiIdGreaterThan(Integer value) {
            addCriterion("oda_in_whi_id >", value, "odaInWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaInWhiIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("oda_in_whi_id >=", value, "odaInWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaInWhiIdLessThan(Integer value) {
            addCriterion("oda_in_whi_id <", value, "odaInWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaInWhiIdLessThanOrEqualTo(Integer value) {
            addCriterion("oda_in_whi_id <=", value, "odaInWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaInWhiIdIn(List<Integer> values) {
            addCriterion("oda_in_whi_id in", values, "odaInWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaInWhiIdNotIn(List<Integer> values) {
            addCriterion("oda_in_whi_id not in", values, "odaInWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaInWhiIdBetween(Integer value1, Integer value2) {
            addCriterion("oda_in_whi_id between", value1, value2, "odaInWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaInWhiIdNotBetween(Integer value1, Integer value2) {
            addCriterion("oda_in_whi_id not between", value1, value2, "odaInWhiId");
            return (Criteria) this;
        }

        public Criteria andOdaOutItyIdIsNull() {
            addCriterion("oda_out_ity_id is null");
            return (Criteria) this;
        }

        public Criteria andOdaOutItyIdIsNotNull() {
            addCriterion("oda_out_ity_id is not null");
            return (Criteria) this;
        }

        public Criteria andOdaOutItyIdEqualTo(Integer value) {
            addCriterion("oda_out_ity_id =", value, "odaOutItyId");
            return (Criteria) this;
        }

        public Criteria andOdaOutItyIdNotEqualTo(Integer value) {
            addCriterion("oda_out_ity_id <>", value, "odaOutItyId");
            return (Criteria) this;
        }

        public Criteria andOdaOutItyIdGreaterThan(Integer value) {
            addCriterion("oda_out_ity_id >", value, "odaOutItyId");
            return (Criteria) this;
        }

        public Criteria andOdaOutItyIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("oda_out_ity_id >=", value, "odaOutItyId");
            return (Criteria) this;
        }

        public Criteria andOdaOutItyIdLessThan(Integer value) {
            addCriterion("oda_out_ity_id <", value, "odaOutItyId");
            return (Criteria) this;
        }

        public Criteria andOdaOutItyIdLessThanOrEqualTo(Integer value) {
            addCriterion("oda_out_ity_id <=", value, "odaOutItyId");
            return (Criteria) this;
        }

        public Criteria andOdaOutItyIdIn(List<Integer> values) {
            addCriterion("oda_out_ity_id in", values, "odaOutItyId");
            return (Criteria) this;
        }

        public Criteria andOdaOutItyIdNotIn(List<Integer> values) {
            addCriterion("oda_out_ity_id not in", values, "odaOutItyId");
            return (Criteria) this;
        }

        public Criteria andOdaOutItyIdBetween(Integer value1, Integer value2) {
            addCriterion("oda_out_ity_id between", value1, value2, "odaOutItyId");
            return (Criteria) this;
        }

        public Criteria andOdaOutItyIdNotBetween(Integer value1, Integer value2) {
            addCriterion("oda_out_ity_id not between", value1, value2, "odaOutItyId");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsNumIsNull() {
            addCriterion("oda_at_that_time_ancestors_num is null");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsNumIsNotNull() {
            addCriterion("oda_at_that_time_ancestors_num is not null");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsNumEqualTo(Double value) {
            addCriterion("oda_at_that_time_ancestors_num =", value, "odaAtThatTimeAncestorsNum");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsNumNotEqualTo(Double value) {
            addCriterion("oda_at_that_time_ancestors_num <>", value, "odaAtThatTimeAncestorsNum");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsNumGreaterThan(Double value) {
            addCriterion("oda_at_that_time_ancestors_num >", value, "odaAtThatTimeAncestorsNum");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsNumGreaterThanOrEqualTo(Double value) {
            addCriterion("oda_at_that_time_ancestors_num >=", value, "odaAtThatTimeAncestorsNum");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsNumLessThan(Double value) {
            addCriterion("oda_at_that_time_ancestors_num <", value, "odaAtThatTimeAncestorsNum");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsNumLessThanOrEqualTo(Double value) {
            addCriterion("oda_at_that_time_ancestors_num <=", value, "odaAtThatTimeAncestorsNum");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsNumIn(List<Double> values) {
            addCriterion("oda_at_that_time_ancestors_num in", values, "odaAtThatTimeAncestorsNum");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsNumNotIn(List<Double> values) {
            addCriterion("oda_at_that_time_ancestors_num not in", values, "odaAtThatTimeAncestorsNum");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsNumBetween(Double value1, Double value2) {
            addCriterion("oda_at_that_time_ancestors_num between", value1, value2, "odaAtThatTimeAncestorsNum");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsNumNotBetween(Double value1, Double value2) {
            addCriterion("oda_at_that_time_ancestors_num not between", value1, value2, "odaAtThatTimeAncestorsNum");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsProCodeIsNull() {
            addCriterion("oda_at_that_time_ancestors_pro_code is null");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsProCodeIsNotNull() {
            addCriterion("oda_at_that_time_ancestors_pro_code is not null");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsProCodeEqualTo(String value) {
            addCriterion("oda_at_that_time_ancestors_pro_code =", value, "odaAtThatTimeAncestorsProCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsProCodeNotEqualTo(String value) {
            addCriterion("oda_at_that_time_ancestors_pro_code <>", value, "odaAtThatTimeAncestorsProCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsProCodeGreaterThan(String value) {
            addCriterion("oda_at_that_time_ancestors_pro_code >", value, "odaAtThatTimeAncestorsProCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsProCodeGreaterThanOrEqualTo(String value) {
            addCriterion("oda_at_that_time_ancestors_pro_code >=", value, "odaAtThatTimeAncestorsProCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsProCodeLessThan(String value) {
            addCriterion("oda_at_that_time_ancestors_pro_code <", value, "odaAtThatTimeAncestorsProCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsProCodeLessThanOrEqualTo(String value) {
            addCriterion("oda_at_that_time_ancestors_pro_code <=", value, "odaAtThatTimeAncestorsProCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsProCodeLike(String value) {
            addCriterion("oda_at_that_time_ancestors_pro_code like", value, "odaAtThatTimeAncestorsProCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsProCodeNotLike(String value) {
            addCriterion("oda_at_that_time_ancestors_pro_code not like", value, "odaAtThatTimeAncestorsProCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsProCodeIn(List<String> values) {
            addCriterion("oda_at_that_time_ancestors_pro_code in", values, "odaAtThatTimeAncestorsProCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsProCodeNotIn(List<String> values) {
            addCriterion("oda_at_that_time_ancestors_pro_code not in", values, "odaAtThatTimeAncestorsProCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsProCodeBetween(String value1, String value2) {
            addCriterion("oda_at_that_time_ancestors_pro_code between", value1, value2, "odaAtThatTimeAncestorsProCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsProCodeNotBetween(String value1, String value2) {
            addCriterion("oda_at_that_time_ancestors_pro_code not between", value1, value2, "odaAtThatTimeAncestorsProCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsTrackCodeIsNull() {
            addCriterion("oda_at_that_time_ancestors_track_code is null");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsTrackCodeIsNotNull() {
            addCriterion("oda_at_that_time_ancestors_track_code is not null");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsTrackCodeEqualTo(String value) {
            addCriterion("oda_at_that_time_ancestors_track_code =", value, "odaAtThatTimeAncestorsTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsTrackCodeNotEqualTo(String value) {
            addCriterion("oda_at_that_time_ancestors_track_code <>", value, "odaAtThatTimeAncestorsTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsTrackCodeGreaterThan(String value) {
            addCriterion("oda_at_that_time_ancestors_track_code >", value, "odaAtThatTimeAncestorsTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsTrackCodeGreaterThanOrEqualTo(String value) {
            addCriterion("oda_at_that_time_ancestors_track_code >=", value, "odaAtThatTimeAncestorsTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsTrackCodeLessThan(String value) {
            addCriterion("oda_at_that_time_ancestors_track_code <", value, "odaAtThatTimeAncestorsTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsTrackCodeLessThanOrEqualTo(String value) {
            addCriterion("oda_at_that_time_ancestors_track_code <=", value, "odaAtThatTimeAncestorsTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsTrackCodeLike(String value) {
            addCriterion("oda_at_that_time_ancestors_track_code like", value, "odaAtThatTimeAncestorsTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsTrackCodeNotLike(String value) {
            addCriterion("oda_at_that_time_ancestors_track_code not like", value, "odaAtThatTimeAncestorsTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsTrackCodeIn(List<String> values) {
            addCriterion("oda_at_that_time_ancestors_track_code in", values, "odaAtThatTimeAncestorsTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsTrackCodeNotIn(List<String> values) {
            addCriterion("oda_at_that_time_ancestors_track_code not in", values, "odaAtThatTimeAncestorsTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsTrackCodeBetween(String value1, String value2) {
            addCriterion("oda_at_that_time_ancestors_track_code between", value1, value2, "odaAtThatTimeAncestorsTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaAtThatTimeAncestorsTrackCodeNotBetween(String value1, String value2) {
            addCriterion("oda_at_that_time_ancestors_track_code not between", value1, value2, "odaAtThatTimeAncestorsTrackCode");
            return (Criteria) this;
        }

        public Criteria andOdaStockTypeIsNull() {
            addCriterion("oda_stock_type is null");
            return (Criteria) this;
        }

        public Criteria andOdaStockTypeIsNotNull() {
            addCriterion("oda_stock_type is not null");
            return (Criteria) this;
        }

        public Criteria andOdaStockTypeEqualTo(Integer value) {
            addCriterion("oda_stock_type =", value, "odaStockType");
            return (Criteria) this;
        }

        public Criteria andOdaStockTypeNotEqualTo(Integer value) {
            addCriterion("oda_stock_type <>", value, "odaStockType");
            return (Criteria) this;
        }

        public Criteria andOdaStockTypeGreaterThan(Integer value) {
            addCriterion("oda_stock_type >", value, "odaStockType");
            return (Criteria) this;
        }

        public Criteria andOdaStockTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("oda_stock_type >=", value, "odaStockType");
            return (Criteria) this;
        }

        public Criteria andOdaStockTypeLessThan(Integer value) {
            addCriterion("oda_stock_type <", value, "odaStockType");
            return (Criteria) this;
        }

        public Criteria andOdaStockTypeLessThanOrEqualTo(Integer value) {
            addCriterion("oda_stock_type <=", value, "odaStockType");
            return (Criteria) this;
        }

        public Criteria andOdaStockTypeIn(List<Integer> values) {
            addCriterion("oda_stock_type in", values, "odaStockType");
            return (Criteria) this;
        }

        public Criteria andOdaStockTypeNotIn(List<Integer> values) {
            addCriterion("oda_stock_type not in", values, "odaStockType");
            return (Criteria) this;
        }

        public Criteria andOdaStockTypeBetween(Integer value1, Integer value2) {
            addCriterion("oda_stock_type between", value1, value2, "odaStockType");
            return (Criteria) this;
        }

        public Criteria andOdaStockTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("oda_stock_type not between", value1, value2, "odaStockType");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}